package eteam.aps.systeminterface.model.enums;

import com.baomidou.mybatisplus.annotation.EnumValue;
import com.fasterxml.jackson.annotation.JsonValue;
import eteam.aps.common.enumeration.IBaseEnum;

/**
 * 权限范围枚举
 * 权限：0无权限 1本部门 2本部门及以下 99无限制
 */
public enum PermissionEnum implements IBaseEnum<Integer> {
    /**
     * 0无权限
     */
    No(0, "无权限"),
    /**
     * 1本机构
     */
    This(1, "本机构"),
    /**
     * 2本机构及下属机构
     */
    ThisOrSub(2, "本机构及下属机构"),
    /**
     * 99无限制
     */
    All(99, "无限制");

    @EnumValue
    @JsonValue
    private int val = 0;

    private String label = "";

    private PermissionEnum(int value, String desc) {
        val = value;
        label = desc;
    }

    @Override
    public Integer getValue() {
        return val;
    }

    @Override
    public String getDescription() {
        return label;
    }
}
